function appgzgzchcon(a) { 
    window.__58error = this.sendAppError;
    this.init();
    a && !a.autoPageReady || this.pageReady();
    var b = this;
    /complete|loaded|interactive/.test(document.readyState) && document.body ? b.doPreActionQueue() : document.addEventListener("DOMContentLoaded",
    function() {
        b.doPreActionQueue();
        document.removeEventListener("DOMContentLoaded", arguments.callee, !1);
        if (valiOSVersion(b.os)) {
            var a = document.createElement("script");
            a.innerHTML = "var _pef = getPerformanceTiming();if(_pef){var connectTime = _pef['connectEnd'] - _pef['navigationStart'],blankTime = _pef['responseStart'] - _pef['connectEnd'],dataTime = _pef['responseEnd'] - _pef['responseStart'],domReadyTime = _pef['domContentLoadedEventStart'] - _pef['navigationStart'],loadTime = _pef['domComplete'] - _pef['navigationStart'];var requrl = location.protocol + '//' + location.host + location.pathname;WBAPP.setWebLog('pageperformance','common', '0', [connectTime, blankTime, dataTime, domReadyTime, loadTime, WBAPP.os, 0, requrl, window.appNetType || 'unknown']);}";
            setTimeout(function() {
                document.body.appendChild(a);
                a = null
            },
            1E3)
        }
    },
    !1)
}
function valiOSVersion(a) {
	return 4;
  //  var b = navigator.userAgent.toLowerCase();
  //  if ( - 1 < b.indexOf("ipad")) return ! 1;
 //   if ("ios" == a) return a = b.match(/iphone os ([0-9]+)_([0-9]+)/),
  //  9 < a[1] ? !0 : 9 == a[1] && 2 <= a[2] ? !0 : !1;
 //   a = b.match(/android ([0-9]).([0-9])/);
 //   return 4 < a[1] ? !0 : 4 == a[1] && 4 <= a[2] ? !0 : !1
}
function getPerformanceTiming() {
    return window.performance ? performance.timing ? performance.timing: !1 : !1
}
function _getnettype(a) {
    window.appNetType = a
}
function _getlocaldata(a) {
    window._jumpinfo = getJsonFromQuery(a)
}
function getJsonFromQuery(a) {
    a = a.split("&");
    for (var b = {},
    c = 0; c < a.length; c++) {
        var d = a[c].split("=");
        0 < d.length && (b[d[0]] = d[1])
    }
    return b
}
appgzgzchcon.prototype = {
    version: "0.0.2",
    appVersion: "0.0",
    constructor: appgzgzchcon,
    os: null,
    class2type: {},
    actionCallback: {},
    callbackPrefix: "WBAPP.actionCallback.",
    uniqueId: 0,
    topRightReg: /^sou|map|hide$/,
    pagetypeReg: /^childcate|list|detail|link|publish|backreload|mypublish|usercenterbusiness$/,
    loadType: /^index|center$/,
    thirdLoginType: /^qq|wechat|sina$/,
    pluginType: /^login|register|bind$/,
    infoType: /^addSubscribe|delSubscribe|notice$/,
    toggleReg: /^show|hide$/,
    iosFrame: null,
    domReady: !1,
    publishRootDomain: "webapp.58.com",
    appDomain: "app.58.com",
    actionPreQueue: [],
    getUniqueId: function() {
        return this.uniqueId++
    },
    init: function() {
        this.os = this._getOS();
        this._getVersion();
        "ios" == this.os ? window.appNetType = this._cookie("get", "netType") : this.getUserInfo("nettype", "_getnettype");
        this.getLocalData("jumpinfo", "_getlocaldata")
    },
    _aboveVersion: function(a) {
        var b = this.appVersion.split(".");
        a = a.split(".");
        for (var c = 0,
        d = 0,
        e = 0; 3 > e; e++) c += b[e] * Math.pow(100, 2 - e),
        d += a[e] * Math.pow(100, 2 - e);
        return c >= d
    },
    _getOS: function() {
        var a = navigator.userAgent.toLowerCase();
        return - 1 < a.indexOf("android") ? "android": -1 < a.indexOf("iphone") ? "ios": -1 < a.indexOf("ipad") ? "ios": ""
    },
    _nativeBriadge: function(a) {
        this._nativeBridge(a)
    },
    _nativeBridge: function(a) {
        var b = !1,
        c = !1,
        d = !1,
        e = !1; ! a._mark || 1 != a._mark && 2 != a._mark || (b = !0);
        this._aboveVersion("7.3.1") && window._jumpinfo && window._jumpinfo.wlsour && "weixin" == window._jumpinfo.wlsour && (c = !0);
        if (0 != a.balancePaid && 1 != a.balancePaid || 10 == a._mark) d = !0;
        this._aboveVersion("7.4.0") && (e = !0);
        if (a.action && "get_pay" == a.action) if (e && 1 != a._mark) {
            if (c) {
                c = a.payType || "balance|wechat";
                c = c.split("|").filter(function(a, b, c) {
                    return "wap" != a && "alipay" != a
                }).join("|");
                if ("" == c) {
                    WBAPP.toastMsg("\u62b1\u6b49\uff0c\u6682\u4e0d\u652f\u6301\u5f53\u524d\u652f\u4ed8\u65b9\u5f0f\uff0c\u8bf7\u4f7f\u7528\u7f51\u9875\u7248\u8fdb\u884c\u652f\u4ed8\uff01");
                    return
                }
                a.payType = c
            }
            10 == a._mark && (delete a.balancePaid, delete a.sign)
        } else if (b || c) if (d) {
            c = a.payType || "balance|wechat";
            c = c.split("|").filter(function(a, b, c) {
                return "wap" != a && "alipay" != a
            }).join("|");
            if ("" == c) {
                WBAPP.toastMsg("\u62b1\u6b49\uff0c\u6682\u4e0d\u652f\u6301\u5f53\u524d\u652f\u4ed8\u65b9\u5f0f\uff0c\u8bf7\u4f7f\u7528\u7f51\u9875\u7248\u8fdb\u884c\u652f\u4ed8\uff01");
                return
            }
            a.payType = c
        } else {
            b = location.protocol + "//paycenter.58.com/pay?";
            d = [];
            a.platfrom = "mobile";
            for (var g in a)(a[g] || 0 == a[g]) && d.push(g + "=" + a[g]);
            b += d.join("&");
            c && (b += "&fromwx=1");
            b += "&os=" + this.os;
            1 == a._mark ? location.href = b: WBAPP.loadPage("link", b, "\u652f\u4ed8", !1, !1, !0, "hide", !1, !1, !0);
            return
        }
        a.action_handler = window.location.href;
        a = JSON.stringify(a);
        "android" == this.os ? this._andr4Native(a) : "ios" == this.os ? this._ios4Native(a) : "ipad" == this.os && this._ios4Native(a)
    },
    _andr4Native: function(a) {
        "undefined" != typeof window.stub && window.stub.jsCallMethod(a)
    },
    _createIframe: function() {
        var a;
        a = document.createElement("iframe");
        a.setAttribute("style", "display:none;");
        a.setAttribute("height", "0px");
        a.setAttribute("width", "0px");
        a.setAttribute("frameborder", "0");
        return a
    },
    _ios4Native: function(a) {
        "6.2.5" <= this.appVersion ? this.domReady ? (this.iosFrame = this._createIframe(), this.iosFrame.src = "nativechannel://?paras=" + encodeURIComponent(a), document.body.appendChild(this.iosFrame), this.iosFrame = null) : this.actionPreQueue.push(a) : this.ajax({
            url: "http://127.0.0.1/nativechannel/",
            type: "POST",
            data: {
                paras: a
            },
            success: function(a) {},
            error: function(a, c) {}
        })
    },
    doPreActionQueue: function() {
        for (this.domReady = !0; 0 < this.actionPreQueue.length;) this._ios4Native(this.actionPreQueue.shift())
    },
    type: function(a) {
        if (null == a) return a + "";
        var b = this;
        "Boolean Number String Function Array Date RegExp Object Error".split(" ").forEach(function(a, d, e) {
            b.class2type["[object " + a + "]"] = a.toLowerCase()
        });
        return "object" === typeof a || "function" === typeof a ? this.class2type[this.class2type.toString.call(a)] || "object": typeof a
    },
    pageReady: function() {
        this.domReady || this._nativeBridge({
            action: "page_finish"
        })
    },
    getParamsFromUrl: function(a) {
        var b = location.search;
        if (b && "" != b) {
            for (var b = b.substr(1), c = {},
            b = b.split("&"), d = b.length - 1; 0 <= d; d--) {
                var e = b[d].split("=");
                c[e[0]] = e[1]
            }
            return a ? c[a] : c
        }
        return null
    },
    ajax: function(a) {
        var b = this.obj2formatStr(a.data, "=", "&");
        if ("JSONP" == a.type) {
            var c = "appgzgzchcon_jsonpcallback" + this.getUniqueId();
            window[c] = a.success;
            var d = document.createElement("script");
            d.chareset = "utf-8";
            d.src = a.url + "?" + b + "&callback=" + c;
            d.id = c;
            document.body.appendChild(d)
        } else {
            var e = new XMLHttpRequest;
            e.open(a.type, a.url, !0);
            e.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            e.onreadystatechange = function() {
                4 == e.readyState && 200 == e.status ? a.success && a.success.apply(null, [e.responseText]) : a.error && a.error.apply(null, [e, e.responseText])
            };
            e.send(b)
        }
    },
    obj2formatStr: function(a, b, c) {
        var d = [],
        e;
        for (e in a) d.push(e + b + a[e]);
        return d.join(c)
    },
    _valiParam: function(a, b, c) {
        for (var d = {
            a: "Array",
            b: "Boolean",
            d: "Date",
            e: "Error",
            f: "Function",
            n: "Number",
            r: "RegExp",
            s: "String",
            o: "Object"
        },
        e = 0; e < b.length; e++) {
            var g = b[e].split("|"),
            f = a[e];
            if ("r" == g[1] || "o" == g[1] && f) if ("n" == g[0] && "" != f && (f = parseInt(f)), ("o" != g[1] || "" != f) && this.type(f).substr(0, 1) != g[0]) {
                console.log("WBAPP." + c + " \u7b2c" + (e + 1) + "\u4e2a\u53c2\u6570\u7684\u7c7b\u522b\u5e94\u8be5\u4e3a" + d[g[0]]);
                break
            }
        }
    },
    _packingParam: function(a, b) {
        for (var c = {},
        d = 0; d < a.length; d++) c[b[d]] = a[d];
        return c
    },
    _cookie: function(a) {
        var b = arguments,
        c = this;
        switch (a) {
        case "get":
            return function(a, b) {
                for (var g = a + "=",
                f = g.length,
                h = document.cookie.length,
                k = 0,
                l = 0; k < h;) {
                    l = k + f;
                    if (document.cookie.substring(k, l) == g) return c._cookie("getCookieVal", l, b);
                    k = document.cookie.indexOf(" ", k) + 1;
                    if (0 == k) break
                }
                return null
            } (b[1], b[2]);
        case "set":
            return function(a, b, c, f, h, k) {
                var l = arguments,
                n = arguments.length,
                m = new Date;
                c = 2 < n ? (new Date).getTime() + 864E5 * parseInt(c) : new Date(m.getFullYear(), m.getMonth() + 1, m.getUTCDate());
                f = 3 < n ? l[3] : "/";
                h = 4 < n ? l[4] : ".58.com";
                k = 5 < n ? l[5] : !1;
                document.cookie = a + "=" + encodeURIComponent(b) + (null == c ? "": "; expires=" + (new Date(c)).toGMTString()) + (null == f ? "": "; path=" + f) + (null == h ? "": "; domain=" + h) + (1 == k ? "; secure": "")
            } (b[1], b[2], b[3], b[4], b[5], b[6]);
        case "set_noencode":
            return function(a, b, c, f, h, k) {
                var l = arguments,
                n = arguments.length,
                m = new Date;
                c = 2 < n ? l[2] : new Date(m.getFullYear(), m.getMonth() + 1, m.getUTCDate());
                f = 3 < n ? l[3] : "/";
                h = 4 < n ? l[4] : ".58.com";
                k = 5 < n ? l[5] : !1;
                document.cookie = a + "=" + b + (null == c ? "": "; expires=" + c.toGMTString()) + (null == f ? "": "; path=" + f) + (null == h ? "": "; domain=" + h) + (1 == k ? "; secure": "")
            } (b[1], b[2], b[3], b[4], b[5], b[6]);
        case "remove":
            return function(a) {
                c._cookie("get", a) && c._cookie("set", a, "", new Date(1970, 1, 1))
            } (b[1]);
        case "getCookieVal":
            return function(a, b) {
                var c = document.cookie.indexOf(";", a); - 1 == c && (c = document.cookie.length);
                return 0 == b ? document.cookie.substring(a, c) : decodeURIComponent(document.cookie.substring(a, c))
            } (b[1], b[2])
        }
    },
    toastMsg: function(a) {
        try {
            this._nativeBridge({
                action: "toast",
                msg: a
            })
        } catch(b) {
            alert(a)
        }
    },
    isLogin: function(a) {
        if ("function" == this.type(a)) {
            var b = "app_action_callback_" + this.getUniqueId();
            this.actionCallback[b] = a;
            a = this.callbackPrefix + b
        }
        this._valiParam(arguments, ["s|r"], "isLogin");
        this._nativeBridge({
            action: "islogin",
            callback: a
        })
    },
    login: function(a, b, c, d, e) {
        this._valiParam(arguments, ["s|r", "s|r", "s|r", "b|o", "b|o"], "login");
        this._nativeBridge({
            action: "login",
            isReload: d,
            url: a,
            title: b,
            pagetype: c,
            isFinish: e
        })
    },
    loadPage: function(a, b, c, d, e, g, f, h, k, l, n) {
        f && (this.topRightReg.test(f) || (f = "hide"));
        this.pagetypeReg.test(a) || (a = "link");
        b = b.replace(/^http:\/\/|^HTTP:\/\/|^\/\//,
        function(a) {
            return location.protocol + "//"
        });
        this._valiParam(arguments, "s|r s|r s|r b|o b|o b|o s|o b|o b|o b|o s|o".split(" "), "loadPage");
        var m = this._packingParam(arguments, "pagetype url title showarea showpub isfinish top_right is_recent showsift backtoroot anim".split(" "));
        m.action = "loadpage";
        this._nativeBridge(m)
    },
    loadNativeList: function(a, b, c, d, e, g, f, h, k, l, n) {
        this._valiParam(arguments, "s|r s|r s|r s|r s|o s|o b|o s|o s|o b|o o|o".split(" "), "loadNativeList");
        var m = k || ( - 1 != location.host.indexOf("test") ? "http://apptest.58.com/api/list": "http://" + this.appDomain + "/api/list"),
        m = m.replace(/^http:\/\/|^HTTP:\/\/|^\/\//,
        function(a) {
            return location.protocol + "//"
        }),
        m = {
            action: "pagetrans",
            tradeline: a || "",
            content: {
                title: b,
                pagetype: "list",
                is_backtomain: f || !1,
                list_name: c || "",
                local_name: h,
                cateid: d || "",
                isfinish: l || !1,
                params: e ? JSON.parse(e) : {},
                filterParams: g ? JSON.parse(g) : {},
                common_params: n,
                meta_url: m
            }
        };
        this._nativeBridge(m)
    },
    loadNativeDetail: function(a, b, c, d, e, g, f, h) {
        this._nativeBridge({
            action: "pagetrans",
            tradeline: a,
            content: {
                title: "\u8be6\u60c5",
                action: "pagetrans",
                pagetype: "detail",
                list_name: b,
                local_name: c,
                is_backtomain: g || !1,
                infoID: d,
                full_path: e || "",
                recomInfo: !1,
                use_cache: !0,
                pre_info: "",
                charge_url: f || "",
                filterParames: "",
                common_params: h
            }
        })
    },
    loadReactNative: function(a, b, c, d) {
        this._valiParam(arguments, ["n|r", "s|r", "s|o", "o|o"], "loadReactNative");
        this._nativeBridge({
            action: "pagetrans",
            tradeline: "RN",
            content: {
                title: b,
                pagetype: "RN",
                bundleid: a,
                url: c,
                backtoroot: !1,
                params: d
            }
        })
    },
    setWebLog: function(a, b, c, d) {
        c = c && c + "";
        if (d && d.length) for (var e = 0; e < d.length; e++) d[e] += "";
        this._valiParam(arguments, ["s|r", "s|r", "s|o", "a|o"], "setWebLog");
        e = this._packingParam(arguments, ["actiontype", "pagetype", "cate", "params"]);
        this._nativeBridge({
            action: "weblog",
            trackinfo: e,
            forcesend: "false"
        })
    },
    setTitle: function(a, b) {
        this._valiParam(arguments, ["s|r", "s|o"], "setTitle");
        this._nativeBridge({
            action: "changetitle",
            title: a,
            rightbtn: b || "show"
        })
    },
    reload: function() {
        this._nativeBridge({
            action: "reload",
            code: ""
        })
    },
    goBack: function() {
        this._nativeBridge({
            action: "goback"
        })
    },
    getPosition: function(a) {
        this._valiParam(arguments, ["s|r"], "getPosition");
        this._posCB = a;
        this._nativeBridge({
            action: "getposition",
            callback: "WBAPP.getPositionCallback"
        })
    },
    getPositionCallback: function(a, b, c) {
        "ios" == this.os ? eval("(" + this._posCB + '("' + b + '", "' + a + '", "' + c + '"))') : eval("(" + this._posCB + '("' + a + '", "' + b + '", "' + c + '"))')
    },
    _getVersion: function() {
        if ("0.0" == this.appVersion) {
            var a = this.getParamsFromUrl("cversion");
            if (a) return this.appVersion = a;
            a = this._cookie("get", "cversion");
            if (null !== a) return "string" == typeof a && (a = a.replace(/(^"+)|("+$)/g, "")),
            this.appVersion = a;
            this.appVersion = "999.99"
        }
        return this.appVersion
    },
    bind: function(a, b, c) {
        this._valiParam(arguments, ["s|r", "s|r", "b|o"], "bind");
        this._nativeBridge({
            action: "third_bind",
            type: a,
            callback: b,
            autoBack: c
        })
    },
    setCateId: function(a) {
        this._valiParam(arguments, ["n|r"], "setCateId");
        this._nativeBridge({
            action: "setcateid",
            cateid: a
        })
    },
    showDialog: function(a, b, c, d, e, g, f) {
        if ("function" == this.type(d)) {
            var h = "app_action_callback_" + this.getUniqueId();
            this.actionCallback[h] = d;
            d = this.callbackPrefix + h
        }
        this._valiParam(arguments, "s|r s|r s|r s|r s|r s|o s|o".split(" "), "showDialog");
        this._nativeBridge({
            action: "dialog",
            type: a,
            title: b,
            content: c,
            btn1_txt: e,
            btn2_txt: g,
            callback: d,
            url: f
        })
    },
    downloadApp: function(a, b, c, d, e, g) {
        this._valiParam(arguments, "s|r s|r s|r s|r s|r s|o".split(" "), "downloadApp");
        "ios" == this.os ? location.href = c: this._nativeBridge({
            action: "downapp",
            cmd: a,
            appid: b,
            "package": d,
            maincls: e,
            url: c,
            type: g,
            tid: b
        })
    },
    extendRightBtn: function(a, b, c) {
        this._valiParam(arguments, ["s|r", "s|r", "s|r"], "extendRightBtn");
        this._nativeBridge({
            action: "extend_btn",
            type: a,
            text: b,
            enable: "true",
            callback: c
        })
    },
    editRightBtn: function(a, b, c) {
        this._valiParam(arguments, ["b|r", "s|o", "s|o"], "editRightBtn");
        this._nativeBridge({
            action: "editbtn",
            enable: a,
            txt: b,
            type: c
        })
    },
    shareInfo: function(a, b, c, d, e, g, f, h, k, l) {
        f = f ? "imageShare": "";
        k = k ? k: c;
        this._valiParam(arguments, "s|r s|r s|r s|r s|r s|r s|o s|o s|o".split(" "), "shareInfo");
        this._nativeBridge({
            action: "info_share",
            type: f,
            data: {
                title: a,
                url: b,
                picurl: c,
                placeholder: d,
                content: e,
                dataURL: h,
                thumburl: k
            },
            shareto: g,
            extshareto: g,
            callback: l
        })
    },
    getUserInfo: function(a, b) {
        this._valiParam(arguments, ["s|o", "s|r"], "getUserInfo");
        a && "imei" == a && "ios" == this.os && (a = "openudid");
        if ("ios" == this.os) {
            var c = this._cookie("get", a);
            try {
                eval("" + b + "") && eval("(" + b + "('" + c + "'))")
            } catch(d) {
                console.log(d.message)
            }
        } else this._nativeBridge({
            action: "get_user_info",
            key: a,
            callback: b
        })
    },
    sendAppError: function(a, b, c, d) {
        this.toastMsg("URL:" + a + "\n\r ACTIONTYPE:" + b + "\n\r ERRORTYPE:" + c + "\n\r ERRORMSG:" + d)
    },
    reloadApp: function(a, b) {
        this.loadType.test(a) || (a = "index");
        this._valiParam(arguments, ["s|r", "s|o"], "reloadApp");
        this._nativeBridge({
            action: "reload_app",
            type: a,
            url: b
        })
    },
    getNativePlugin: function(a, b, c, d, e) {
        this.pluginType.test(a) || (a = "login");
        this._valiParam(arguments, ["s|r", "s|r", "s|o", "s|o", "s|o"], "getNativePlugin");
        this._nativeBridge({
            action: "get_app_plugin",
            type: a,
            callback: b,
            defVal: c,
            goBackCb: d,
            ani: e
        })
    },
    setFlag: function(a, b) {
        this._valiParam(arguments, ["s|r", "b|o"], "setFlag");
        this._nativeBridge({
            action: "set_flag",
            type: a,
            flag: b
        })
    },
    sendInfoToApp: function(a, b) {
        this.infoType.test(a) || (a = "notice");
        this._valiParam(arguments, ["s|r", "o|r"], "sendInfoToApp");
        this._nativeBridge({
            action: "send_info",
            type: a,
            info: b
        })
    },
    toggleLoadingBar: function(a) {
        this.toggleReg.test(a) || (a = "show");
        this._valiParam(arguments, ["s|r"], "toggleLoadingBar");
        this._nativeBridge({
            action: "loadingbar",
            cmd: a
        })
    },
    getPay: function(a, b, c, d, e, g, f, h, k, l, n, m, p, q, r) {
        this._valiParam(arguments, "s|r s|r s|r s|r s|r s|r s|r s|o s|o s|o s|o b|o s|o s|o s|o".split(" "), "getPay");
        this._nativeBridge({
            action: "get_pay",
            productName: a,
            productDesc: b,
            orderMoney: c,
            merId: d,
            orderId: e,
            notifyUrl: g,
            returnUrl: f,
            payType: h,
            validPayTime: k,
            starttime: l,
            endtime: n,
            accountInfo: m || !1,
            sign: p,
            extensionInfo: q,
            callback: r
        })
    },
    im: function(a, b, c, d, e, g, f, h, k, l, n, m, p, q, r) {
        this._valiParam(arguments, ["s|r"], ["s|r"], ["s|r"], ["s|r"], ["s|o"], ["s|o"], ["s|o"], ["s|o"], ["s|o"], ["s|o"], ["s|o"], ["s|o"], "im");
        this._nativeBridge({
            action: "im",
            uid: a,
            uname: b,
            nickname: c,
            online: d,
            title: e,
            url: g,
            infoid: f,
            infoimg: l,
            catename: k,
            price: n,
            rootcateid: h,
            cateid: m,
            tradeline: p,
            sourcetype: q,
            invitation: r
        })
    },
    thirdLogin: function(a, b, c) {
        this.thirdLoginType.test(a.toLowerCase()) || (a = "wechat");
        this._valiParam(arguments, ["s|r"], ["s|r"], ["b|o"], "thirdLogin");
        this._nativeBridge({
            action: "third_login",
            type: a,
            callback: b,
            all: c
        })
    },
    isAppInstalled: function(a, b) {
        this._valiParam(arguments, ["s|r"], ["s|r"], "isAppInstalled");
        this._nativeBridge({
            action: "is_app_installed",
            scheme: a,
            callback: b
        })
    },
    openThirdApp: function(a, b) {
        this._valiParam(arguments, ["s|r"], ["s|r"], "openThirdApp");
        this._nativeBridge({
            action: "open_third_app",
            scheme: a,
            callback: b
        })
    },
    fetchMobileCode: function(a, b) {
        this._valiParam(arguments, ["s|o"], ["s|r"], ["s|r"], "fetchMobileCode");
        this._nativeBridge({
            action: "fetch_mobile_code",
            phone: a,
            callback: b
        })
    },
    loginMobile: function(a, b, c) {
        this._valiParam(arguments, ["s|r"], ["s|r"], ["s|r"], ["s|r"], "loginMobile");
        this._nativeBridge({
            action: "login_mobile",
            phone: a,
            vcode: b,
            callback: c
        })
    },
    getLocalData: function(a, b) {
        if ("function" == this.type(b)) {
            var c = "app_action_callback_" + this.getUniqueId();
            this.actionCallback[c] = b;
            b = this.callbackPrefix + c
        }
        this._valiParam(arguments, ["s|r"], ["s|r"], "getLocalData");
        this._nativeBridge({
            action: "get_local_data",
            type: a,
            callback: b
        })
    }
};
var WBAPP = new appgzgzchcon(window.app_config || null);
window.onerror = function(a, b, c, d, e) {};
var $ = window.$ || {};
$.index = function() {};
$.index.dopost = function(a, b, c, d, e, g, f) {
    try {
        b = b + "," + c + "," + d,
        f = f || "",
        c = "",
        c = location.protocol + "//p." + WBAPP.publishRootDomain + "/" + a + "/5/s5?s5&localid=" + a + "&location=" + b + "&geotype=" + e + "&geoia=" + g + "&formatsource=" + f,
        WBAPP.loadPage("publish", c, ____json4fe.catentry.name, !1, !1, !1)
    } catch(h) {
        WBAPP.toastMsg(h.name + ": " + h.message)
    }
};